package com.yunji.cabinet.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yunji.common.annotation.Excel;
import com.yunji.common.base.BaseDelFlagDO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

;

/**
 * @Project: yunji-coffee
 * @Package com.yunji.cabinet.domain
 * @FileName Container.java
 * @Copyright Copyright © 2024 云集互联. All Rights Reserved
 * Company		com
 * @version 1.0
 * @since JDK 1.8.0_202
 * @CreateTime 2024-04-08 17:43:43
 * @Description 货柜信息
 * @Modification Author                    History Time			Version				Description
 * --------------------------------------------------------------------------------
 * HuaAo				2024-04-08 17:43:43		1.0					1.0 Version
 */
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "t_container", description = "货柜信息")
@TableName("t_container")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ContainerDO extends BaseDelFlagDO implements Serializable {
    private static final long serialVersionUID = 5106246644819364835L;

    @Excel(name = "主键ID")
    @ApiModelProperty(value = "货柜ID")
    @TableId(type = IdType.AUTO)
    private Long containerId;

    @ApiModelProperty("所属ID")
    private Long belongId;

    @ApiModelProperty(value = "货柜名称", required = true)
    @Excel(name = "货柜名称")
    private String containerName;

    @ApiModelProperty(value = "芯片SN")
    @Excel(name = "芯片SN")
    private String chipSn;

    @ApiModelProperty(value = "芯片IMEI", required = true)
    private String chipImei;

    @ApiModelProperty(value = "二维码Code")
    @Excel(name = "二维码Code")
    private String qrcode;

    @ApiModelProperty("货柜在线状态 (0=离线,1=在线)")
    @Excel(name = "货柜激活状态", readConverterExp = "0=离线,1=在线")
    private Integer onlineStatus;

    @ApiModelProperty("货柜在线时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private String onlineTime;

    @ApiModelProperty("货柜离线时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private String offlineTime;


    @ApiModelProperty("货柜使用状态 (0-启用:1-停用:2-未绑定)")
    @Excel(name = "货柜使用状态", readConverterExp = "0-启用:1-停用:2-未绑定")
    private Integer useStatus;

    @ApiModelProperty("货柜激活时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private String useTime;

    @ApiModelProperty("货柜类型ID")
    private String typeCode;

    @ApiModelProperty("货柜储物格数")
    @Excel(name = "货柜储物格数")
    private Integer nums;

    @ApiModelProperty("模板ID")
    private Long templateId;

    @ApiModelProperty("代理ID")
    private Long agentId;

    @ApiModelProperty("经理用户ID")
    @Excel(name = "经理用户ID")
    private Long siteId;

    @ApiModelProperty("绑定的员工ID")
    private Long staffId;

    @ApiModelProperty("绑定时间")
    @Excel(name = "绑定时间")
    private Date bindTime;

    @ApiModelProperty("版本号")
    private String version;

    @ApiModelProperty("点位ID")
    private Long locationId;

    @ApiModelProperty("电量 0 低电量  1 高电量")
    private Integer battleLevel;

    @ApiModelProperty("电量状态")
    private Integer battleStatus;

    @ApiModelProperty("电量变更时间")
    private Date updateBattleTime;

    @ApiModelProperty("是否休眠 1 是 0 否")
    private Integer sleepStatus;

    @ApiModelProperty("信号")
    private Integer rssi;

    @ApiModelProperty("进仓是否到位")
    private Integer inLimitStatus;

    @ApiModelProperty("出仓是否到位")
    private Integer outLimitStatus;

    @ApiModelProperty("补货仓是锁住")
    private Integer lockStatus;
}
